var networkManager = {

	//variable definitions
	serviceURI: "",

	// compiles a list of all playlists with their modification time to server and the current author's userProfileId
	// a List of Actions (LoA) will be returned on all the differences:
		// if an author-owned playlist has a different timestamp, return an action label of "upload"
		// if it's someone else's playlist that's different, the action label would be "download"
		// if the user isn't a member of the playlist, the action label would be "delete"
		// this method would then loop through the LoA and 
	syncAllPlaylists: function() {

	},

	// high level methods
	// submits the current user's profile data to server
	updateUserProfileData: function() {

	},

	// looks up the playlistInfo by Id and submits the json data to server
	// the server would return a list of actions containing soundtracks to be uploaded (if any)
	// then this method should call uploadSoundtrackData to submit both the soundtrack .json and .aac files
	uploadPlaylistData: function(playlistId: string) {

	},

	uploadSoundtrackData: function(soundtrackId: string) {

	},

	// downloads a specific playlist data file from server and overwrites the local .json file
	// look at individual soundtrack item details to determine if additional soundtrack items need to be downloaded.
	// user's membership would be verified here.
	downloadPlaylistData: function(playlistId: string) {

	},

	// downloads the .json and .aac file of a single soundtrack to local storage
	downloadSountrackData: function(soundtrackId: string) {

	},

	// sends a request to server to remove this playlist and all its data.
	// only author of the playlist can perform this action
	deletePlaylistDataById: function(playlistId: string) {

	},

	requestJoinTokenForPlaylist: function(playlistId: string) {

	},

	expirePlaylistToken: function(tokenId: string) {
		
	}

	// low level methods
	
}

export {networkManager};